// 1. 导入express模块
const exp = require('express')
// 2. 创建express服务对象
const app = exp();

app.listen(80, () => {
    console.log("启动成功");
})
// 3. 设置一个中间件
// 3.1 use不限制请求方式
// 3.2 use省略第一个参数，不限制请求地址
// 3.3 “/info” 开头的执行中间件

let fn1 = (req, res, next) => {
    // console.log('中间件',req.url);
    // 自定义属性
    req.a = 123;
    // 这个中间件执行完了，你走下一个吧
    // next();
    console.log(1);
    // res.send('中间件结束123');
    next()
}

let fn2 = (req,res,next)=>{
    console.log(2);
    next()
}

// 使用中间件  - 中间件是函数 - 三个参数：req、res、next
// app.use('/abc',fn1)

// app.get('/list', (req, res, next) => {
//     console.log(req.a);
//     // res.send('信息页');
//     next();
// });

// 直接通过app.use使用中间件 - 独立设置 url地址匹配
app.use('/list',fn1)

// 在路由上直接使用中间件函数 
app.get('/list',fn1,fn2, (req, res) => {
    res.send('最后一个');
})

app.get('/info',fn1,(req,res)=>{
    res.send('info页面');
})

// 4. 监听一个端口号，并启动服务